
from utils import get_embedding, cosine_similarity_2, logging

# 金融法律法规RAG问题数据集（基于《银行业金融机构董事和高级管理人员任职资格管理办法》第18条）
# 生成时间：2025年04月17日 17:46 
# 数据格式：{问题编号: 问题文本, ...}

qa_pairs = {
    # 一、基础条款理解类问题 
    "query1": "哪些金融机构高管在任职资格申请时需要提交离任审计报告？请具体说明法规依据。",
    "query2": "当拟任人曾有金融机构高管任职经历时，申请材料中必须额外提交什么文件？由谁负责提交？",
    
    # 二、时限与程序类问题 
    "query3": "金融机构高管离任后，离任审计报告最迟需在多少天内报送监管机构？从何时起算？",
    "query4": "若高管在同一法人机构内平级调动，离任审计报告的报送时限有何不同？具体缩短至多少天？",
    "query5": "离任审计报告应报送至哪个具体监管机构？是否需要区分跨地区任职的情况？",
    
    # 三、合规与监管逻辑类问题 
    "query6": "为什么法规对离任审计报告设定60日/30日的报送时限？超期报送可能引发哪些监管风险？",
    "query7": "同一法人机构内平行调动时，为何离任审计报告报送时限缩短为30日？体现何种监管逻辑？",
    
    # 四、实务操作类问题 
    "query8": "某银行拟聘任曾担任其他银行行长的候选人，除常规材料外，还需补充什么关键文件？如何确认其合规性？",
    "query9": "若高管离任第61日才提交审计报告，是否构成违规？监管机构可能采取哪些措施？",
    
    # 五、扩展分析类问题 
    "query10": "离任审计报告的内容是否需要符合《银行业金融机构董事履职评价办法》的相关要求？请说明法律依据。"
}

status = """
法规《银行业金融机构董事（理事）和高级管理人员任职资格管理办法》中的
第十八条 拟任人曾任金融机构董事长（理事长）或高级管理人员的，申请人在提交任职资格申请材料时，还应当提交该拟任人的离任审计报告。离任审计报告一般应当于该人员离任后的六十日内向其离任机构所在地监管机构报送。在同一法人机构内平行调动的，应当于该人员离任后的三十日内向其离任机构所在地监管机构报送。
"""

# 新增：将问题和法规答案嵌入成向量
embeddings_qa_pairs = {key: get_embedding(value) for key, value in qa_pairs.items()}
embedding_status = get_embedding(status)

# 新增：计算问题与法规答案的相似度
logging.info("'test3>>>>>>>>>>>计算问题与法规答案的相似度'")
for key, embedding_query in embeddings_qa_pairs.items():
    similarity = cosine_similarity_2(embedding_query, embedding_status)
    logging.info(f"问题 {key} 与法规答案的相似度: {similarity:.4f}")
